The field of the present invention pertains to audio-video systems. More particularly, the present invention pertains to implementing standardized software based message dispatching for multiple devices coupled in a home audio/video network.
A typical home audio/video equipment set up includes a number of components. For example, a radio receiver, a CD player, a pair of speakers, a television, a VCR, a tape deck, and alike. Each of these components are connected to each other via a set of wires. One component is usually the central component of the home audio/video system. This is usually the radio receiver, or the tuner. The tuner has a number of specific inputs for coupling the other components. The tuner has a corresponding number of control buttons or control switches which provide a limited degree of controllability and interoperability for the components. The control buttons and control switches are usually located on the front of the tuner. In many cases, some, or all, of these buttons and switches are duplicated on a hand held remote control unit. A user controls the home audio/video system by manipulating the buttons and switches on the front of the tuner, or alternatively, manipulating buttons on the hand held remote control unit.
This conventional home audio/video system paradigm has become quite popular. As consumer electronic devices become more capable and more complex, the demand for the latest and most capable devices has increased. As new devices emerge and become popular, the devices are purchased by consumers and xe2x80x9cpluggedxe2x80x9d into their home audio/video systems. Generally, the latest and most sophisticated of these devices are quite expensive (e.g., digital audio tape recorders, DVD players, digital camcorders, and alike). As a consumer purchases new devices, most often, the new device is simply plugged into the system alongside the pre-existing, older devices (e.g., cassette tape deck, CD player, and the like). The new device is plugged into an open input on the back of the tuner, or some other device couple to the tuner. The consumer (e.g., the user) controls the new device via the control buttons on the tuner, via the control buttons and control switches on the front of the new device itself, or via an entirely new, separate, respective remote control unit for the new device.
As the number of new consumer electronics devices for the home audio/video system have grown and as the sophistication and capabilities of these devices have increased, a number of problems with the conventional paradigm have emerged. One such problem is incompatibility between devices in the home audio/video system. Consumer electronic devices from one manufacturer often couple to an audio/video system in a different manner than similar devices from another manufacturer. For example, a tuner made by one manufacturer may not properly couple with a television made by another manufacturer. Within conventional home audio/video systems, there is not a standardized way of coupling devices such that they interact predictably and reliably. This is especially true in the case where devices from different manufacturers are coupled together.
Another problem is the lack of standardized methods of enabling and facilitating communication between the devices coupled within the home audio/video system. The emergence of networking and interface technology (e.g., IEEE 1394 serial communication bus and the wide spread adoption of digital systems) offers prospects for correcting these problems. The dynamic capability of 1394 makes it an ideal physical media for interconnecting audio/video devices in a home network. The IEEE 1394 technology provides an architecture capable of offering a flexible distributed peer-to-peer software framework that consumer electronics companies can use to develop home audio/video devices and applications/features for those devices that were not feasible previously. Such applications/features include true plug-and-play, fully automated device self-configuration, and the like.
While the emergence of powerful networking and interface technology (e.g., IEEE 1394 serial communication bus and the wide spread adoption of digital systems) offers prospects for correcting the above problems, there is still no coherent, open, extensible architecture which can provide for a standardized, intelligent, self configuring, easily extensible architecture which facilitates reliable, trouble free communication between multiple devices in the home audio/video system.
There is no standardized architecture for ensuring reliable, conflict free, message passing between the various components of the home audio/video network. Within current home audio/video networks, there exists the significant possibility of resource conflicts within their internal massaging subsystems which may lead to an inability of the various devices coupled to the network to communicate. Such resource conflicts can cause a break down of the message passing system which forms the basis for the communication between the various software and hardware components within the home audio/video network. For example, while various home audio/video network solutions involve the use of IEEE 1394 as the basic transport layer of a network communications system, none provide a system for ensuring the seamless transmission and reception of data messages between the various software/hardware components within the home audio/video network, especially in those cases where the various software components may be distributed among different hardware platforms (e.g., devices) coupled to the home audio/video network.
The present invention provides a standardized architecture for ensuring reliable, conflict free, message passing between the various components of the home audio/video network. The present invention eliminates the possibility of resource conflicts within their internal massaging subsystems which may lead to an inability of the various devices coupled to the network to communicate, thereby avoiding conflicts that can cause a break down of the message passing system which forms the basis for the communication between the various software and hardware components within a home audio/video network. In one embodiment, an IEEE 1394 based system is provided that ensures the seamless transmission and reception of data messages between the various software/hardware components within the home audio/video network, especially in those cases where the various software components may be distributed among different hardware platforms (e.g., devices) coupled to the home audio/video network. In so doing, a more reliable, more robust real-time messaging architecture for communication between the various components is provided.
In one embodiment, the present invention is implemented as a dual dispatching process in a home audio video network of connected network devices. The dual dispatching process provides for the routing received messages to their respective proper software controllers and the routing of outgoing messages to their respective proper devices on the network bus (e.g., IEEE 1394 bus). For example, where incoming messages are received from the network bus, the receiving is performed by an intelligent device coupled to the network bus (e.g., a set-top box having an embedded computer system), wherein the intelligent device provides the computer system platform for instantiating thereon a plurality of software controllers for communicating with a plurality of network devices. The incoming messages are examined in a first dispatcher (e.g., a first software based message handling unit) to determine a corresponding one of the plurality, of software controllers within the intelligent device to which the incoming message is intended. The first dispatcher subsequently dispatches the incoming message to the corresponding one software controller. Outgoing messages from the plurality of software controllers within the intelligent device are received in a second dispatcher (e.g., a second software based message handling unit). The second dispatcher examines the outgoing messages to determine a corresponding one of the plurality of network devices to which the outgoing messages are intended. The second dispatcher subsequently dispatches the outgoing message to the corresponding one network device via the network bus. In this manner, the first and second dispatchers, while both being instantiated within the intelligent device, process incoming messages and outgoing messages independent of one another.